package com.xiaoshuidi.cloud.module.member.mapper.activities;

import com.xiaoshuidi.cloud.framework.mybatis.core.mapper.BaseMapperX;
import com.xiaoshuidi.cloud.module.member.controller.admin.activities.vo.ActivitiesPointVO;
import com.xiaoshuidi.cloud.module.member.controller.app.activities.vo.EnrollListVO;
import com.xiaoshuidi.cloud.module.member.controller.app.activities.vo.EnrollStatusPageVO;
import com.xiaoshuidi.cloud.module.member.controller.app.activities.vo.MemberActivitiesValidCodeEnroll;
import com.xiaoshuidi.cloud.module.member.pojo.activities.MemberActivitiesEnroll;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MemberActivitiesEnrollMapper extends BaseMapperX<MemberActivitiesEnroll> {
    EnrollListVO validateExpired(@Param("id") Long id);

    List<MemberActivitiesValidCodeEnroll> getUnverified(@Param("ids") List<Long> ids);

    List<EnrollListVO> getEnrollList(@Param("vo") EnrollStatusPageVO form);

    ActivitiesPointVO getActivitiesPoint(@Param("id") Long id);

    void updateUserId(@Param("oldUserId")Long oldUserId, @Param("userId")Long userId,@Param("list") List<Long> notContainsCollect);

    void deleteByActivityId(@Param("list")List<Long> containsCollect, @Param("oldUserId")Long oldUserId);
}
